Форми представлення чисел. Порівняння методів фіксованої та плаваючої коми.
Необхідність у вказівці положення коми відпадає, якщо місце коми в розрядної сітки машини наперед фіксовано раз і назавжди. Така форма представлення чисел називається уявленням з фіксованою комою (крапкою). Оскільки числа позитивні і негативні, то формат (розрядна сітка) машинного зображення розбивається на знакову частину і поле числа. У полі числа розміщується саме зображення числа, яке ми умовно називатимемо мантисою числа. Для кодування знаку числа використовується самий старший розряд розрядної сітки, відведеної для зображення двійкового числа, а решта розрядів відводиться під мантису числа. Положення коми в розрядній сітці строго фіксується, звичайно або правіше наймолодшого розряду мантиси, або ліво самого старшого. У першому випадку число представляється як ціле, в другому - як правильний дріб. В даний час в переважній більшості в комп'ютерах у форматі з фіксованою крапкою представляються цілі числа. У знакову частину записується інформація про знак числа. Прийнято, що знак позитивного числа "+" зображається символом 0, а знак негативного числа "-" зображається символом 1. Наприклад, в двійковому коді, використовуючи 6-розрядну сітку, число 7 у формі з фіксованою комою можна представити у вигляді:
0.001112,
де цифра ліво крапки це знак числа, а п'ять цифр правіше за крапку - мантиса числа в прямому коді. Тут мається на увазі, що кома фіксована правіше молодшого розряду, а крапка в зображенні числа в даному випадку просто розділяє знаковий біт від мантиси числа. Надалі часто використовуватиметься в прикладах такий вид представлення числа в машинній формі. Можна використовувати і іншу форму представлення числа в машинній формі:
[0]001112,
де знаковий розряд виділяється квадратними дужками. Кількість розрядів в розрядній сітці, відведену для зображення мантиси числа, визначає діапазон і точність представлення числа з фіксованою комою. Максимальне по абсолютній величині двійкове число зображається одиницями у всіх розрядах, виключаючи знаковий, тобто для цілого числа |A|max = (2(n-1) - 1), де n - повна довжина розрядної сітки. У разі 16-розрядної сітки |A|max = (2(16-1) - 1) = 3276710 , тобто діапазон представлення цілих чисел в цьому випадку буде від +3276710 до -3276710 . Для випадку, коли кома фіксується правіше молодшого розряду мантиси, тобто для цілих чисел, числа, у яких модуль більше, ніж (2(n-1) - 1) і менше одиниці не представляються у формі з фіксованою комою. Числа, по абсолютній величині менше одиниці молодшого розряду розрядної сітки, називаються в цьому випадку машинним нулем. Негативний нуль заборонений. В деяких випадках, коли можна оперувати тільки модулями чисел, вся розрядна сітка, включаючи самий старший розряд, відводиться для представлення числа, що дозволяє розширити діапазон зображення чисел.
Форма представлення чисел з плаваючою комою
У загальному випадку число у формі з плаваючою комою представляється у вигляді: A = mq p , де m - мантиса числа, q - підстава системи числення q p - порядок числа, який для спрощення в прикладах іноді зображатимемо як P. Тоді очевидно, що p - це показник ступеня порядку, який звичайно називають просто порядком числа, оскільки в основному завжди q = 2. Отже попередній вираз можна записати в наступному вигляді:A = mAPA, маючи на увазі, що в комп'ютерах звичайно q = 2.Так, наприклад, число 1984 у формі з плаваючою комою в десятковій системі числення можна записати таким чином:
1984,0Ч100 0,1984 104
19,84Ч102 198400 10-2 і т.д.
Число з плаваючою комою прийняте представляти в так званому нормалізованому вигляді для максимально точного представлення числа. Якщо виконується нерівність q-1 |m| <1,
а у разі двійкової системи числення: 0.5 |m| <1, то вважається, що число представлене в нормалізованому вигляді. Наприклад, 0,1984Ч104 є нормалізованим видом числа 1984 у формі з плаваючою комою в десятковій системі числення. ...